📚 存储控制器·驱动实战
30章 从入门到项目
🧩 NAND Flash · SoC
01
存储系统概述
NAND Flash vs NOR Flash · 存储控制器角色 · 课程架构
02
NAND Flash物理结构
浮栅晶体管 · SLC/MLC/TLC/QLC · Page/Block/Plane/LUN
03
NAND Flash接口协议
异步/同步时序 · ONFI与Toggle · 命令/地址/数据总线
04
NAND Flash基本操作
Read Page · Program Page · Erase Block · Reset · Read ID
05
NAND Flash时序参数
tR, tPROG, tBERS, tRC/tWC · 时序图 · AC特性
06
存储控制器架构
AHB/AXI总线 · DMA引擎 · ECC引擎 · 硬件调度器
07
控制器寄存器编程
命令/地址/数据/状态寄存器 · 中断控制
08
NAND控制器初始化
时钟使能 · 复位释放 · 时序配置 · 中断使能
09
Page Read驱动实现
发送命令/地址 · 等待tR · 读取数据 · 状态检查
10
Page Program驱动
命令/地址/数据 · 确认命令 · 等待tPROG
11
Block Erase驱动
命令 · 块地址 · 确认擦除 · 等待tBERS
12
Read ID与参数页
制造商ID · ONFI参数页 · 时序参数解析
13
坏块管理(BBM)
出厂标记 · 运行时扫描 · 坏块表 · 替换策略
14
ECC纠错原理
汉明码 · BCH · LDPC · 纠错能力与效率
15
硬件ECC引擎编程
ECC配置 · 数据写入/生成 · 读取校验
16
软件ECC实现
RS纠错算法 · 软件与硬件ECC协同
17
DMA传输优化
描述符链 · 双缓冲 · 中断/轮询模式
18
Cache与Write Buffer
Cache策略 · Buffer刷新 · 一致性处理
19
中断处理与任务调度
ISR设计 · 底半部机制 · 任务优先级
20
FTL层基础
逻辑→物理地址映射 · 页/块映射 · 映射表
21
垃圾回收机制
有效页迁移 · 回收触发 · 磨损均衡策略
22
磨损均衡(Wear Leveling)
动态/静态均衡 · 最大擦除次数限制
23
读干扰与数据保持
读干扰机理 · 缓解策略 · 数据刷新
24
电源管理与掉电保护
电源切换 · 掉电检测 · 紧急保存 · 重启恢复
25
多通道与多Die并行
通道交织 · Die交错 · Bank分组 · 性能模型
26
驱动性能调优
延迟分析 · 吞吐量 · 队列深度 · CPU占用率
27
驱动调试与Trace
调试打印 · 寄存器dump · 逻辑分析仪 · profiling
28
驱动测试方法论
单元测试 · 集成测试 · 压力测试 · 异常注入
29
U-Boot与Linux驱动框架
MTD子系统 · NAND驱动注册 · 设备树配置
30
项目实战:从零搭建NAND驱动
性能基准测试 · 常见问题排查与修复